import time
from selenium.webdriver.common.by import By
from common.Utils import BlogDriver

class BlogEdit:
    driver = ""
    url = ""
    def __init__(self):
        self.driver = BlogDriver.driver
        #编辑一篇新博克页面
        self.url = "http://8.137.19.140:9090/blog_edit.html"
        self.driver.get(self.url)

    def BlogLoginEditTest(self):
        #找到标题输入框输入标题
        self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("博客系统测试编辑页面")
        #编辑区域的菜单栏是第三方插件，元素无法被选中，先不处理菜单栏
        #博客编辑区本来就不为空
        time.sleep(1)
        BlogDriver.GetScreeShot()
        #点击发布文章按钮
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        # 因为页面的跳转需要时间，代码执行的速度如果比页面渲染的速度快，就会导致找不到元素
        time.sleep(1)
        #发布文章后，会自动跳转到博客列表页，可以判断一下跳转后的url是否等于博客列表页的url
        jumpURL = self.driver.current_url
        print(jumpURL)
        assert jumpURL == "http://8.137.19.140:9090/blog_list.html"
        #判断一下博客列表页的文章标题是否是新发布的博客的给定的标题
        # body > div.container > div.right > div: nth - child(33) > div.title，最近发布一篇文章是child（33）新发布的文章应该是child（34）
        actual = self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(34) > div.title").text
        print(actual)
        assert actual == "博客系统测试编辑页面"

    def NotBlogLoginEditTest(self): #未登录下
        # 未登录下是找不到标题输入框输入标题
        self.driver.find_element(By.CSS_SELECTOR, "#title").send_keys("博客系统测试编辑页面")



